home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / wais / waisgate / HTStream.h < prev    next >
C/C++ Source or Header  |  1995-05-09  |  2KB  |  57 lines

  1. /*                                                      The Stream class definition -- libwww
  2.                                  STREAM OBJECT DEFINITION
  3.                                              
  4.    A Stream object is something which accepts a stream of text.
  5.    
  6.    The creation methods will vary on the type of Stream Object, but the methods used to
  7.    write to it and close it are common.
  8.    
  9.  */
  10. #ifndef HTSTREAM_H
  11. #define HTSTREAM_H
  12.  
  13. #include "HTUtils.h"
  14.  
  15. typedef struct _HTStream HTStream;
  16.  
  17. /*
  18.  
  19.    These are the common methods of all streams.  They should be self-explanatory, except
  20.    for end_document which must be called before free.  It should be merged with free in
  21.    fact:  it should be dummy for new streams.
  22.    
  23.    The put_block method was write, but this upset systems whiuch had macros for write().
  24.    
  25.  */
  26. typedef struct _HTStreamClass {
  27.  
  28.         char*  name;                            /* Just for diagnostics */
  29.                 
  30.         void (*free) PARAMS((
  31.                 HTStream*       me));
  32.  
  33.         void (*end_document) PARAMS((
  34.                 HTStream*       me));
  35.                 
  36.         void (*put_character) PARAMS((
  37.                 HTStream*       me,
  38.                 char            ch));
  39.                                 
  40.         void (*put_string) PARAMS((
  41.                 HTStream*       me,
  42.                 CONST char *    str));
  43.                 
  44.         void (*put_block) PARAMS((
  45.                 HTStream*       me,
  46.                 CONST char *    str,
  47.                 int             len));
  48.                 
  49.                 
  50. }HTStreamClass;
  51.  
  52. #endif /* HTSTREAM_H */
  53.  
  54. /*
  55.  
  56.    end of HTStream.h  */
  57.